Network bandwidth is often congested, with multiple download or upload sessions competing for network resources. In existing file distribution systems (such as CDNs), files are uploaded from content sources to a “watch folder” for further distribution over operator networks that are not owned or controlled by either the content sources or the CDN owner. In such systems, content uploads from opposing content sources compete, often resulting in suboptimal bandwidth distribution (for example, one content source may utilize a disproportionate share of the bandwidth, starving the other content sources). Due to the lack of control, the CDN owner cannot guarantee quality levels to content sources on different tiers of service.
FIG. 1 is a simplified block diagram of an existing network architecture 10 for uploading content to a CDN 11. Content sources CS-1 through CS-4 12-15 may contend to upload content through the Internet 16 to a watch folder disk farm 17 in a datacenter 18 commonly accessible by the content sources and the CDN. In the illustrated example, CS-1 through CS-3 each utilizes an Internet connection having a maximum bandwidth of 100 Mbs to upload associated content. CS-4 utilizes an Internet connection having a maximum bandwidth of 30 Mbs. An inbound content virtual pipe 19 from the Internet to the watch folder disk farm has a maximum bandwidth capacity in the illustrated example of 200 Mbs. The inbound content is first received in the datacenter 18 in an input buffer 20, and is then retrieved and written to the watch folder disk farm 17. From the watch folder disk farm, a CDN distribution system 21 distributes the ingested content to the CDN 11, which may include an origin server 22 and multiple regional servers 23.
Each of the content sources 12-15 is programmed to grab as much bandwidth as is currently available, up to the maximum bandwidth of its Internet connection, when the content source has content to upload. Therefore, when more than two of the content sources in this example desire to simultaneously upload content, the maximum bandwidth capacity of the inbound content pipe 19 is exceeded. Any other content source that then attempts to upload content to the watch folder will be blocked. Thus, the system is essentially first-come-first-served. For example, if CS-1 and CS-2 are uploading content, CS-3 and CS-4 have to wait until CS-1 or CS-2 finishes its upload or pauses in its upload long enough for CS-3 or CS-4 to jump in and take its place. Of course, this can create additional problems if a content source partially uploads a content file and then cannot regain access to the watch folder disk farm 17 due to network bandwidth being grabbed by another content source.